Denotational Versus Declarative Semantics for Functional Programming

نویسندگان

  • Juan Carlos González Moreno
  • Maria Teresa Hortalá-González
  • Mario Rodríguez-Artalejo
چکیده

Denotational semantics is the usual mathematical semantics for functional programming languages. It is higher order (H.O.) in the sense that the semantic domain D includes D ! D] as a subdomain. On the other hand, the usual declarative semantics for logic programs is rst order (F.O.) and given by the least Herbrand model. In this paper, we take a restricted kind of H.O. conditional rewriting systems as computational paradigm for functional programming. For these systems, we deene both H.O. denotational and F.O. declarative semantics as two particular instances of algebraic semantics over continuous applicative algebras. For the declarative semantics, we prove soundness and completeness of rewriting, as well as an initiality result. We show that both soundness and completeness fail w.r.t. the denotational semantics and we present a natural restriction of rewriting that avoids unsoundness. We conjecture that this restricted rewriting is complete for computing denotationally valid F.O. results.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Denotational Semantics for Teaching Lazy Functional Programming

If you believe this document infringes copyright then please contact the KAR admin team with the take-down information provided at http://kar.kent.ac.uk/contact.html Citation for published version Chitil, Olaf (1999) Denotational Semantics for Teaching Lazy Functional Programming. In: Proceedings of the Workshop on Functional and Declarative Programming in Education, 29 September 1999, Paris, F...

متن کامل

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Interpreter prototypes from formal language definitions

Denotational semantics is now used widely for the formal definition of programming languages but there is a lack of appropriate tools to support language development. General purpose language implementation systems are oriented to syntax with poor support for semantics. Specialised denotational semantics based systems correspond closely to the formalism but are rendered inflexible for language ...

متن کامل

Comparative Semantics of Generalized Horn Clauses1

The purpose of this paper is to present and analyze semantically a new extension of concurrent logic programming languages aiming at handling synchronicity. It essentially rests on an extension of Horn clauses, called generalized Horn clauses, and on a new parallel operator between goals. Five semantics are presented and compared. They range in the operational, declarative and denotational type...

متن کامل

Revisiting Elementary Denotational Semantics

We present a semantics for an applied call-by-value λ-calculus that is compositional, extensional, and elementary. We present four di‚erent views of the semantics: 1) as a relational (big-step) semantics that is not operational but instead declarative, 2) as a denotational semantics that does not use domain theory, 3) as a non-deterministic interpreter, and 4) as a variant of the intersection t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991